package com.yang.strategy.flter.impl;

import com.yang.common.constant.CacheConstant;
import com.yang.common.model.StandardSubmit;
import com.yang.strategy.client.BeaconCacheClient;
import com.yang.strategy.flter.StrategyFilter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author yangyongsheng
 * @date 2024/9/8 18:45
 * @description
 */
@Service(value = "transfer")
@Slf4j
public class TransferStrategyFilter implements StrategyFilter {
    // 代表携号转网了！
    private final Boolean TRANSFER = true;

    @Autowired
    private BeaconCacheClient cacheClient;


    @Override
    public void strategy(StandardSubmit submit) {
        log.info("【策略模块-携号转网策略】   ing…………");
        //1、获取用户手机号
        String mobile = submit.getMobile();

        //2、直接基于Redis查询携号转网信息
        String value = cacheClient.getString(CacheConstant.TRANSFER + mobile);

        //3、如果存在携号转网，设置运营商信息
        if (StringUtils.isNotBlank(value)){
            // 代表携号转网了
            submit.setOperatorId(Integer.valueOf(value));//设置运营商,1-移动 2-联通 3-电信
            submit.setIsTransfer(TRANSFER);//true代表携号转网了
            log.info("【策略模块-携号转网策略】   当前手机号携号转网了！");
            return;
        }
        log.info("【策略模块-携号转网策略】   嘛事没有！");

    }
}
